49 research outputs found
Go-With-The-Winner: Client-Side Server Selection for Content Delivery
Content delivery networks deliver much of the web and video content in the
world by deploying a large distributed network of servers. We model and analyze
a simple paradigm for client-side server selection that is commonly used in
practice where each user independently measures the performance of a set of
candidate servers and selects the one that performs the best. For web (resp.,
video) delivery, we propose and analyze a simple algorithm where each user
randomly chooses two or more candidate servers and selects the server that
provided the best hit rate (resp., bit rate). We prove that the algorithm
converges quickly to an optimal state where all users receive the best hit rate
(resp., bit rate), with high probability. We also show that if each user chose
just one random server instead of two, some users receive a hit rate (resp.,
bit rate) that tends to zero. We simulate our algorithm and evaluate its
performance with varying choices of parameters, system load, and content
popularity.Comment: 15 pages, 9 figures, published in IFIP Networking 201
Optimizing MapReduce for Highly Distributed Environments
MapReduce, the popular programming paradigm for large-scale data processing,
has traditionally been deployed over tightly-coupled clusters where the data is
already locally available. The assumption that the data and compute resources
are available in a single central location, however, no longer holds for many
emerging applications in commercial, scientific and social networking domains,
where the data is generated in a geographically distributed manner. Further,
the computational resources needed for carrying out the data analysis may be
distributed across multiple data centers or community resources such as Grids.
In this paper, we develop a modeling framework to capture MapReduce execution
in a highly distributed environment comprising distributed data sources and
distributed computational resources. This framework is flexible enough to
capture several design choices and performance optimizations for MapReduce
execution. We propose a model-driven optimization that has two key features:
(i) it is end-to-end as opposed to myopic optimizations that may only make
locally optimal but globally suboptimal decisions, and (ii) it can control
multiple MapReduce phases to achieve low runtime, as opposed to single-phase
optimizations that may control only individual phases. Our model results show
that our optimization can provide nearly 82% and 64% reduction in execution
time over myopic and single-phase optimizations, respectively. We have modified
Hadoop to implement our model outputs, and using three different MapReduce
applications over an 8-node emulated PlanetLab testbed, we show that our
optimized Hadoop execution plan achieves 31-41% reduction in runtime over a
vanilla Hadoop execution. Our model-driven optimization also provides several
insights into the choice of techniques and execution parameters based on
application and platform characteristics
BOLA360: Near-optimal View and Bitrate Adaptation for 360-degree Video Streaming
Recent advances in omnidirectional cameras and AR/VR headsets have spurred
the adoption of 360-degree videos that are widely believed to be the future of
online video streaming. 360-degree videos allow users to wear a head-mounted
display (HMD) and experience the video as if they are physically present in the
scene. Streaming high-quality 360-degree videos at scale is an unsolved problem
that is more challenging than traditional (2D) video delivery. The data rate
required to stream 360-degree videos is an order of magnitude more than
traditional videos. Further, the penalty for rebuffering events where the video
freezes or displays a blank screen is more severe as it may cause
cybersickness. We propose an online adaptive bitrate (ABR) algorithm for
360-degree videos called BOLA360 that runs inside the client's video player and
orchestrates the download of video segments from the server so as to maximize
the quality-of-experience (QoE) of the user. BOLA360 conserves bandwidth by
downloading only those video segments that are likely to fall within the
field-of-view (FOV) of the user. In addition, BOLA360 continually adapts the
bitrate of the downloaded video segments so as to enable a smooth playback
without rebuffering. We prove that BOLA360 is near-optimal with respect to an
optimal offline algorithm that maximizes QoE. Further, we evaluate BOLA360 on a
wide range of network and user head movement profiles and show that it provides
to more QoE than state-of-the-art algorithms. While ABR
algorithms for traditional (2D) videos have been well-studied over the last
decade, our work is the first ABR algorithm for 360-degree videos with both
theoretical and empirical guarantees on its performance.Comment: 25 page
Algorithms for Constructing Overlay Networks For Live Streaming
We present a polynomial time approximation algorithm for constructing an
overlay multicast network for streaming live media events over the Internet.
The class of overlay networks constructed by our algorithm include networks
used by Akamai Technologies to deliver live media events to a global audience
with high fidelity. We construct networks consisting of three stages of nodes.
The nodes in the first stage are the entry points that act as sources for the
live streams. Each source forwards each of its streams to one or more nodes in
the second stage that are called reflectors. A reflector can split an incoming
stream into multiple identical outgoing streams, which are then sent on to
nodes in the third and final stage that act as sinks and are located in edge
networks near end-users. As the packets in a stream travel from one stage to
the next, some of them may be lost. A sink combines the packets from multiple
instances of the same stream (by reordering packets and discarding duplicates)
to form a single instance of the stream with minimal loss. Our primary
contribution is an algorithm that constructs an overlay network that provably
satisfies capacity and reliability constraints to within a constant factor of
optimal, and minimizes cost to within a logarithmic factor of optimal. Further
in the common case where only the transmission costs are minimized, we show
that our algorithm produces a solution that has cost within a factor of 2 of
optimal. We also implement our algorithm and evaluate it on realistic traces
derived from Akamai's live streaming network. Our empirical results show that
our algorithm can be used to efficiently construct large-scale overlay networks
in practice with near-optimal cost
Energy-Aware Load Balancing in Content Delivery Networks
Internet-scale distributed systems such as content delivery networks (CDNs)
operate hundreds of thousands of servers deployed in thousands of data center
locations around the globe. Since the energy costs of operating such a large IT
infrastructure are a significant fraction of the total operating costs, we
argue for redesigning CDNs to incorporate energy optimizations as a first-order
principle. We propose techniques to turn off CDN servers during periods of low
load while seeking to balance three key design goals: maximize energy
reduction, minimize the impact on client-perceived service availability (SLAs),
and limit the frequency of on-off server transitions to reduce wear-and-tear
and its impact on hardware reliability. We propose an optimal offline algorithm
and an online algorithm to extract energy savings both at the level of local
load balancing within a data center and global load balancing across data
centers. We evaluate our algorithms using real production workload traces from
a large commercial CDN. Our results show that it is possible to reduce the
energy consumption of a CDN by more than 55% while ensuring a high level of
availability that meets customer SLA requirements and incurring an average of
one on-off transition per server per day. Further, we show that keeping even
10% of the servers as hot spares helps absorb load spikes due to global flash
crowds with little impact on availability SLAs. Finally, we show that
redistributing load across proximal data centers can enhance service
availability significantly, but has only a modest impact on energy savings
Untangling Carbon-free Energy Attribution and Carbon Intensity Estimation for Carbon-aware Computing
Many organizations, including governments, utilities, and businesses, have
set ambitious targets to reduce carbon emissions as a part of their
sustainability goals. To achieve these targets, these organizations
increasingly use power purchase agreements (PPAs) to obtain renewable energy
credits, which they use to offset their ``brown'' energy consumption. However,
the details of these PPAs are often private and not shared with important
stakeholders, such as grid operators and carbon information services, who
monitor and report the grid's carbon emissions. This often results in incorrect
carbon accounting where the same renewable energy production could be factored
into grid carbon emission reports and also separately claimed by organizations
that own PPAs. Such ``double counting'' of renewable energy production could
lead to organizations with PPAs to understate their carbon emissions and
overstate their progress towards their sustainability goals. Further, we show
that commonly-used carbon reduction measures, such as load shifting, can have
the opposite effect of increasing emissions if such measures were to use
inaccurate carbon intensity signals. For instance, users may increase energy
consumption because the grid's carbon intensity appears low even though carbon
intensity may actually be high when renewable energy attributed to PPAs are
excluded. Unfortunately, there is currently no consensus on how to accurately
compute the grid's carbon intensity by properly accounting for PPAs. The goal
of our work is to shed quantitative light on the renewable energy attribution
problem and evaluate its impact of inaccurate accounting on carbon-aware
systems
Simple Algorithms for Routing on Butterfly Networks with Bounded Queues
This paper examines several simple algorithms for routing packets on butterfly networks with bounded queues. We show that for any greedy queuing protocol, a routing problem in which each of the N inputs sends a packet to a randomly chosen output requires O(log N) steps, with high probability, provided that the queue size is a sufficiently large, but fixed, constant. We also show that for any deterministic nonpredictive queuing protocol, there exists a permutation that requires\Omega\Gamma N=q log N) time to route, where q is the maximum queue size. We present a new algorithm for routing log N packets from each input to randomly chosen outputs on a butterfly with bounded-size queues in O(log N) steps, with high probability. The algorithm is simpler than the previous algorithms of Ranade and Pippenger because it does not use ghost messages, it does not compare the ranks or destinations of packets as they pass through switches, and it cannot deadlock. Finally, using Valiant's idea of ra..